Variable stopwrite threshold using kurtosis

ABSTRACT

A data storage system according to one embodiment includes a head; a drive mechanism for passing a medium over the head; and a controller electrically coupled to the head. The system calculates a kurtosis value, using the current position error signal sample or derivative thereof, and adjusts a threshold value using the kurtosis value. The standard deviation or variance is compared to the threshold value, and writing is enabled when the standard deviation or variance does not exceed the threshold value.

BACKGROUND

The present invention relates to data storage systems, and moreparticularly, this invention relates to systems and methods foradjusting a stopwrite threshold based in part on kurtosis.

In magnetic storage systems, data is read from and written onto magneticrecording media utilizing magnetic transducers commonly. Data is writtenon the magnetic recording media by moving a magnetic recordingtransducer to a position over the media where the data is to be stored.The magnetic recording transducer then generates a magnetic field, whichencodes the data into the magnetic media. Data is read from the media bysimilarly positioning the magnetic read transducer and then sensing themagnetic field of the magnetic media. Read and write operations may beindependently synchronized with the movement of the media to ensure thatthe data can be read from and written to the desired location on themedia.

An important and continuing goal in the data storage industry is that ofincreasing the density of data stored on a medium. For tape storagesystems, that goal has led to increasing the track and linear bitdensity on recording tape, and decreasing the thickness of the magnetictape medium. However, the development of small footprint, higherperformance tape drive systems has created various problems in thedesign of a tape head assembly for use in such systems.

In a tape drive system, magnetic tape is moved over the surface of thetape head at high speed. Usually the tape head is designed to minimizethe spacing between the head and the tape. The spacing between themagnetic head and the magnetic tape is crucial so that the recordinggaps of the transducers, which are the source of the magnetic recordingflux, are in near contact with the tape to effect writing sharptransitions, and so that the read element is in near contact with thetape to provide effective coupling of the magnetic field from the tapeto the read element.

Tape drives have conventionally used a servo system to keep thewrite/read heads in the correct lateral location on the tape. Thedifference between the correct location and actual location of the headsis referred to as position error signal (PES).

However, it is difficult to pick the appropriate SW threshold due to thedifferences in distributions of PES data for different drives and/ordifferent tapes. Another drawback is that when a particularpredetermined SW threshold is used, the drive may write the data withoutany apparent error, when actually the adjacent tracks have beenoverwritten, rendering the data therein unreadable. This result ishighly undesirable.

Current servo systems implement a fixed threshold such that if the PESis larger than the threshold, the writing of the heads will be stoppedto prevent overwriting of adjacent tracks. This threshold is referred toas the stopwrite (SW) threshold.

BRIEF SUMMARY

A data storage system according to one embodiment includes a head; adrive mechanism for passing a medium over the head; and a controllerelectrically coupled to the head. logic encoded in or available to thecontroller for measuring a current position error signal. Logic isencoded in or available to the controller for various operations,including: calculating a standard deviation or a variance using thecurrent position error signal sample; calculating a kurtosis value,using the current position error signal sample or derivative thereof;adjusting a threshold value using the kurtosis value; comparing thestandard deviation or variance to the threshold value; enabling writingwhen the standard deviation or variance does not exceed the thresholdvalue; determining a stopwrite threshold based on a standard deviationor a variance at a current position error signal sample when thestandard deviation or variance exceeds the threshold value; determiningwhether the current position error signal sample exceeds the stopwritethreshold; disabling writing when the current position error signalsample exceeds the stopwrite threshold; and enabling writing when thecurrent position error signal sample does not exceed the stopwritethreshold.

A computer program product according to one embodiment includes acomputer readable storage medium having program code embodied therewith,the computer readable program code readable/executable by a controllerto perform some or all operations of the foregoing method.

Other aspects and embodiments of the present invention will becomeapparent from the following detailed description, which, when taken inconjunction with the drawings, illustrate by way of example theprinciples of the invention.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1A is a schematic diagram of a simplified tape drive systemaccording to one embodiment.

FIG. 1B is a schematic diagram of a tape cartridge according to oneembodiment.

FIG. 2 illustrates a side view of a flat-lapped, bi-directional,two-module magnetic tape head according to one embodiment.

FIG. 2A is a tape bearing surface view taken from Line 2A of FIG. 2.

FIG. 2B is a detailed view taken from Circle 2B of FIG. 2A.

FIG. 2C is a detailed view of a partial tape bearing surface of a pairof modules.

FIG. 3 is a partial tape bearing surface view of a magnetic head havinga write-read-write configuration.

FIG. 4 is a partial tape bearing surface view of a magnetic head havinga read-write-read configuration.

FIG. 5 depicts a method according to one embodiment.

FIG. 6 is a flowchart of a method according to one embodiment.

FIG. 7 is a top down view of a data track according to one embodiment.

FIG. 8 is a graph according to one embodiment.

FIG. 9 is a graph according to one embodiment.

FIG. 10 is a flowchart of a method according to one embodiment.

FIG. 11A is a graph illustrating an exemplary set of PES data.

FIG. 11B is a graph illustrating an exemplary set of PES data.

FIG. 11C is a graph illustrating an exemplary set of PES data.

FIG. 12 is a graph exemplifying a normalized relationship betweenstandard deviation and excess kurtosis according to one embodiment.

DETAILED DESCRIPTION

The following description is made for the purpose of illustrating thegeneral principles of the present invention and is not meant to limitthe inventive concepts claimed herein. Further, particular featuresdescribed herein can be used in combination with other describedfeatures in each of the various possible combinations and permutations.

Unless otherwise specifically defined herein, all terms are to be giventheir broadest possible interpretation including meanings implied fromthe specification as well as meanings understood by those skilled in theart and/or as defined in dictionaries, treatises, etc.

It must also be noted that, as used in the specification and theappended claims, the singular forms “a,” “an” and “the” include pluralreferents unless otherwise specified.

The following description discloses several preferred embodiments ofmagnetic storage systems and/or related systems and methods.

In one general embodiment, a data storage system according to oneembodiment includes a head; a drive mechanism for passing a medium overthe head; and a controller electrically coupled to the head. logicencoded in or available to the controller for measuring a currentposition error signal. Logic is encoded in or available to thecontroller for various operations, including: calculating a standarddeviation or a variance using the current position error signal sample;calculating a kurtosis value, using the current position error signalsample or derivative thereof; adjusting a threshold value using thekurtosis value; comparing the standard deviation or variance to thethreshold value; enabling writing when the standard deviation orvariance does not exceed the threshold value; determining a stopwritethreshold based on a standard deviation or a variance at a currentposition error signal sample when the standard deviation or varianceexceeds the threshold value; determining whether the current positionerror signal sample exceeds the stopwrite threshold; disabling writingwhen the current position error signal sample exceeds the stopwritethreshold; and enabling writing when the current position error signalsample does not exceed the stopwrite threshold.

In another general embodiment, a method includes measuring a currentposition error signal; calculating a standard deviation or a varianceusing the current position error signal sample; calculating a kurtosisvalue, using the current position error signal sample or derivativethereof; adjusting a threshold value using the kurtosis value; comparingthe standard deviation or variance to the threshold value; enablingwriting when the standard deviation or variance does not exceed thethreshold value; determining a stopwrite threshold based on a standarddeviation or a variance at a current position error signal sample whenthe standard deviation or variance exceeds the threshold value;determining whether the current position error signal sample exceeds thestopwrite threshold; disabling writing when the current position errorsignal sample exceeds the stopwrite threshold; and enabling writing whenthe current position error signal sample does not exceed the stopwritethreshold.

In another general embodiment, a computer program product includes [acomputer readable storage medium having program code embodied therewith,the computer readable program code readable/executable by a controllerto perform some or all operations of the foregoing method.

FIG. 1A illustrates a simplified tape drive 100 of a tape-based datastorage system, which may be employed in the context of the presentinvention. While one specific implementation of a tape drive is shown inFIG. 1A, it should be noted that the embodiments described herein may beimplemented in the context of any type of tape drive system.

As shown, a tape supply cartridge 120 and a take-up reel 121 areprovided to support a tape 122. One or more of the reels may form partof a removable cartridge and are not necessarily part of the system 100.The tape drive, such as that illustrated in FIG. 1A, may further includedrive motor(s) to drive the tape supply cartridge 120 and the take-upreel 121 to move the tape 122 over a tape head 126 of any type. Suchhead may include an array of readers, writers, or both. Moreover,according to one approach, the head may be magnetic.

Guides 125 guide the tape 122 across the tape head 126. Such tape head126 is in turn coupled to a controller 128 via a cable 130. Thecontroller 128, may be or include a processor and/or any logic forcontrolling any subsystem of the drive 100. For example, the controller128 typically controls head functions such as servo following, datawriting, data reading, etc. The controller 128 may operate under logicknown in the art, as well as any logic disclosed herein. The controller128 may be coupled to a memory 136 of any known type, which may storeinstructions executable by the controller 128. Moreover, the controller128 may be configured and/or programmable to perform or control some orall of the methodology presented herein. Thus, the controller may beconsidered configured to perform various operations by way of logicprogrammed into a chip; software, firmware, or other instructions beingavailable to a processor; etc. and combinations thereof.

The cable 130 may include read/write circuits to transmit data to thehead 126 to be recorded on the tape 122 and to receive data read by thehead 126 from the tape 122. An actuator 132 controls position of thehead 126 relative to the tape 122.

An interface 134 may also be provided for communication between the tapedrive 100 and a host (integral or external) to send and receive the dataand for controlling the operation of the tape drive 100 andcommunicating the status of the tape drive 100 to the host, all as willbe understood by those of skill in the art.

FIG. 1B illustrates an exemplary tape cartridge 150 according to oneembodiment. Such tape cartridge 150 may be used with a system such asthat shown in FIG. 1A. As shown, the tape cartridge 150 includes ahousing 152, a tape 122 in the housing 152, and a nonvolatile memory 156coupled to the housing 152. In some approaches, the nonvolatile memory156 may be embedded inside the housing 152, as shown in FIG. 1B. In moreapproaches, the nonvolatile memory 156 may be attached to the inside oroutside of the housing 152 without modification of the housing 152. Forexample, the nonvolatile memory may be embedded in a self-adhesivelabel. In one preferred embodiment, the nonvolatile memory 156 may be aFlash memory device, ROM device, etc., embedded into or coupled to theinside or outside of the tape cartridge 150. The nonvolatile memory isaccessible by the tape drive and the tape operating software (the driversoftware), and/or other device.

By way of example, FIG. 2 illustrates a side view of a flat-lapped,bi-directional, two-module magnetic tape head 200 which may beimplemented in the context of the present invention. As shown, the headincludes a pair of bases 202, each equipped with a module 204, and fixedat a small angle α with respect to each other. The bases may be“U-beams” that are adhesively coupled together. Each module 204 includesa substrate 204A and a closure 204B with a thin film portion, commonlyreferred to as a “gap” in which the readers and/or writers 206 areformed. In use, a tape 208 is moved over the modules 204 along a media(tape) bearing surface 209 in the manner shown for reading and writingdata on the tape 208 using the readers and writers. The wrap angle θ ofthe tape 208 at edges going onto and exiting the flat media supportsurfaces 209 are usually between about 0.1 degree and about 5 degrees.

The substrates 204A are typically constructed of a wear resistantmaterial, such as a ceramic. The closures 204B made of the same orsimilar ceramic as the substrates 204A.

The readers and writers may be arranged in a piggyback or mergedconfiguration. An illustrative piggybacked configuration comprises a(magnetically inductive) writer transducer on top of (or below) a(magnetically shielded) reader transducer (e.g., a magnetoresistivereader, etc.), wherein the poles of the writer and the shields of thereader are generally separated. An illustrative merged configurationcomprises one reader shield in the same physical layer as one writerpole (hence, “merged”). The readers and writers may also be arranged inan interleaved configuration. Alternatively, each array of channels maybe readers or writers only. Any of these arrays may contain one or moreservo track readers for reading servo data on the medium.

FIG. 2A illustrates the tape bearing surface 209 of one of the modules204 taken from Line 2A of FIG. 2. A representative tape 208 is shown indashed lines. The module 204 is preferably long enough to be able tosupport the tape as the head steps between data bands.

In this example, the tape 208 includes 4 to 22 data bands, e.g., with 16data bands and 17 servo tracks 210, as shown in FIG. 2A on a one-halfinch wide tape 208. The data bands are defined between servo tracks 210.Each data band may include a number of data tracks, for example 512 datatracks (not shown). During read/write operations, the readers and/orwriters 206 are positioned to specific track positions within one of thedata bands. Outer readers, sometimes called servo readers, read theservo tracks 210. The servo signals are in turn used to keep the readersand/or writers 206 aligned with a particular set of tracks during theread/write operations.

FIG. 2B depicts a plurality of readers and/or writers 206 formed in agap 218 on the module 204 in Circle 2B of FIG. 2A. As shown, the arrayof readers and writers 206 includes, for example, 16 writers 214, 16readers 216 and two servo readers 212, though the number of elements mayvary. Illustrative embodiments include 8, 16, 32, 40, and 64 readersand/or writers 206 per array. A preferred embodiment includes 32 readersper array and/or 32 writers per array, where the actual number oftransducing elements could be greater, e.g., 33, 34, etc. This allowsthe tape to travel more slowly, thereby reducing speed-induced trackingand mechanical difficulties and/or execute fewer “wraps” to fill or readthe tape. While the readers and writers may be arranged in a piggybackconfiguration as shown in FIG. 2B, the readers 216 and writers 214 mayalso be arranged in an interleaved configuration. Alternatively, eacharray of readers and/or writers 206 may be readers or writers only, andthe arrays may contain one or more servo readers 212. As noted byconsidering FIGS. 2 and 2A-B together, each module 204 may include acomplementary set of readers and/or writers 206 for such things asbi-directional reading and writing, read-while-write capability,backward compatibility, etc.

FIG. 2C shows a partial tape bearing surface view of complimentarymodules of a magnetic tape head 200 according to one embodiment. In thisembodiment, each module has a plurality of read/write (R/W) pairs in apiggyback configuration formed on a common substrate 204A and anoptional electrically insulative layer 236. The writers, exemplified bythe write head 214 and the readers, exemplified by the read head 216,are aligned parallel to a direction of travel of a tape mediumthereacross to form an R/W pair, exemplified by the R/W pair 222.

Several R/W pairs 222 may be present, such as 8, 16, 32 pairs, etc. TheR/W pairs 222 as shown are linearly aligned in a direction generallyperpendicular to a direction of tape travel thereacross. However, thepairs may also be aligned diagonally, etc. Servo readers 212 arepositioned on the outside of the array of R/W pairs, the function ofwhich is well known.

Generally, the magnetic tape medium moves in either a forward or reversedirection as indicated by arrow 220. The magnetic tape medium and headassembly 200 operate in a transducing relationship in the mannerwell-known in the art. The piggybacked MR head assembly 200 includes twothin-film modules 224 and 226 of generally identical construction.

Modules 224 and 226 are joined together with a space present betweenclosures 204B thereof (partially shown) to form a single physical unitto provide read-while-write capability by activating the writer of theleading module and reader of the trailing module aligned with the writerof the leading module parallel to the direction of tape travel relativethereto. When a module 224, 226 of a piggyback head 200 is constructed,layers are formed in the gap 218 created above an electricallyconductive substrate 204A (partially shown), e.g., of AlTiC, ingenerally the following order for the R/W pairs 222: an insulating layer236, a first shield 232 typically of an iron alloy such as NiFe(permalloy), CZT or Al—Fe—Si (Sendust), a sensor 234 for sensing a datatrack on a magnetic medium, a second shield 238 typically of anickel-iron alloy (e.g., 80/20 Permalloy), first and second writer poletips 228, 230, and a coil (not shown).

The first and second writer poles 228, 230 may be fabricated from highmagnetic moment materials such as 45/55 NiFe. Note that these materialsare provided by way of example only, and other materials may be used.Additional layers such as insulation between the shields and/or poletips and an insulation layer surrounding the sensor may be present.Illustrative materials for the insulation include alumina and otheroxides, insulative polymers, etc.

The configuration of the tape head 126 according to one embodimentincludes multiple modules, preferably three or more. In awrite-read-write (W-R-W) head, outer modules for writing flank one ormore inner modules for reading. Referring to FIG. 3, depicting a W-R-Wconfiguration, the outer modules 402, 406 each include one or morearrays of writers 410. The inner module 404 of FIG. 3 includes one ormore arrays of readers 408 in a similar configuration. Variations of amulti-module head include a R-W-R head (FIG. 4), a R-R-W head, a W-W-Rhead, etc. In yet other variations, one or more of the modules may haveread/write pairs of transducers. Moreover, more than three modules maybe present. In further approaches, two outer modules may flank two ormore inner modules, e.g., in a W-R-R-W, a R-W-W-R arrangement, etc. Forsimplicity, a W-R-W head is used primarily herein to exemplifyembodiments of the present invention. One skilled in the art apprisedwith the teachings herein will appreciate how permutations of thepresent invention would apply to configurations other than a W-R-Wconfiguration.

The teachings herein may be applied to other types of data storagesystems. For example, according to a general embodiment, a data storagesystem may include a head which may be magnetic, optical, etc. or anyother type of head which would be apparent to one skilled in the artupon reading the present description. The system may additionallyinclude a drive mechanism for passing an e.g., magnetic, optical, etc.medium over the head. The data storage system may further include acontroller electrically coupled to the head.

The data storage system may also include logic according to any of theembodiments described and/or suggested herein. In one approach, thelogic may be encoded in a controller and/or other hardware, stored inmemory as software or firmware and available to the controller and/orother hardware, etc. and combinations thereof. Moreover, the logic maybe for performing any of the process steps recited herein.

Conventional data storage systems include a predefined stopwritethreshold and can be inaccurate for any given period of writing.Depending on the situation, the stopwrite threshold can either be overlyconstraining by only permitting writing during a low PES, therebyminimizing the capacity of the tape; or it may be overly permissive bypermitting writing during high PES samples, thus allowing adjacenttracks on the medium to be overwritten.

Embodiments of the present invention overcome the aforementioneddrawback by providing a stopwrite system that is able to adjust thestopwrite threshold to accommodate varying write conditions. Preferably,such system and/or method is able to statistically calculate the PESstandard deviation (or other derivative of a PES sample) and makechanges to the stopwrite threshold accordingly, as explained in furtherdetail below. Moreover, each system and/or method may ensure theappropriate stopwrite threshold to accommodate favorable conditions suchthat written data may be read back later.

Referring now to FIG. 5, a method 500 is depicted according to oneembodiment. As an option, the present method 500 may be implemented inconjunction with features from any other embodiment listed herein, suchas those described with reference to the other FIGS. Of course, however,such method 500 and others presented herein may be used in variousapplications and/or in permutations which may or may not be specificallydescribed in the illustrative embodiments listed herein. Further, themethod 500 presented herein may be used in any desired environment.

Referring to FIG. 5, a method 500 is depicted according to oneillustrative embodiment of a simplified process for successfullyrecording data to a medium. The method 500 includes periodicallydetermining a stopwrite threshold based on a standard deviation or avariance at a current position error signal sample. As discussed in moredetail below, a smoothing factor applied to a subsequent calculation orcalculations of the standard deviation (e.g., σ_(raw)) or variance(e.g., σ_(k) ²) is altered based, at least in part, on a currentmagnitude of the standard deviation (e.g., σ_(raw)) or the variance(e.g., σ_(k) ²). See operation 502. Alteration of the smoothing factoris explained in further detail below. It should be noted that the periodmay correspond to predetermined regular intervals; irregular intervals;periods calculated on the fly e.g., as a function of data rate, tapespeed, etc.; etc.

With continued reference to FIG. 5, the method 500 also includesdetermining whether the current PES sample exceeds the stopwritethreshold. See operation 504.

In operation 506, writing is disabled when the current PES sampleexceeds the stopwrite threshold.

The method 500 additionally includes enabling writing when the currentPES sample does not exceed the stopwrite threshold. See operation 508.

According to various approaches the methods 500 and/or 600 (describedbelow) may incorporate logic while conducting the aforementionedoperations. In one approach, the logic may be encoded in a controllerand/or other hardware, stored in memory as software or firmware andavailable to the controller and/or other hardware, etc. and combinationsthereof.

In a preferred approach, the method 500 may be executed at intervals ofless than about 1 second, more preferably less than about 0.01 seconds,still more preferably less than about 1 millisecond, but could beshorter or longer based on the desired embodiment. According to oneillustrative embodiment which is by no means meant to limit the scope ofthe invention, the aforementioned logic may be executed at regular orirregular intervals of about 50 μs.

Referring now to FIG. 6 a method 600 is depicted according to oneillustrative embodiment. As an option, the present method 600 may beimplemented in conjunction with features from any other embodimentlisted herein, such as those described with reference to the other FIGS.Of course, however, such method 600 and others presented herein may beused in various applications and/or in permutations which may or may notbe specifically described in the illustrative embodiments listed herein.Further, the method 600 presented herein may be used in any desiredenvironment.

In a preferred approach, the method 600 may be executed at regular orirregular intervals as the track is being written to.

Operation 602 includes measuring the current PES sample. In oneapproach, the previous PES samples may be measured to find thecorresponding deviation. According to one approach, the PES may bemeasured by incorporating any method known in the art, e.g., usingservos, etc.

Operation 604 includes updating the standard deviation (e.g., σ_(raw))or the variance (e.g., σ_(k) ²), based on PES samples, a current PESsample, etc. and the altered smoothing factor (B). See operation 502 ofFIG. 5. According to various approaches, σ_(raw) may be a standarddeviation of PES samples, including prior PES samples, the current PESsample, etc. Moreover, σ_(raw) may be calculated by incorporating anyformula known in the art.

In a preferred illustrative embodiment, the standard deviation (e.g.,σ_(raw)) or the variance (e.g., σ_(k) ²) may be calculated usingEquation 1, where σ_(k) is used as σ_(raw).σ_(k) ² =B×σ _(k-1) ²+(1−B)×x _(k) ²  Equation 1

According to the preferred embodiment, σ_(k) ² represents the varianceat the current PES sample, σ_(k-1) ² represents the variance at theprevious PES sample, and x_(k) represents the current PES sample. Byincorporating the variance of the previous PES samples, the accumulativedistribution may be accurate, thereby preferably resulting in anaccurate stopwrite threshold as well, without having to store all of theprevious PES sample values. σ_(raw) can be calculated by taking thesquare root of σ_(k) ².

In one approach, if Equation 1 is incorporated for a first time, thevalue for σ_(k-1) ² (variance of the previous PES sample) may implementstored data from the previous PES sample, an arbitrary value chosen by auser, etc. Without wishing to be bound by any theory, it is believedthat the σ_(k-1) ² value implemented for a first time Equation 1 isused, may not significantly affect the σ_(raw) value that is calculatedand used to set the SW threshold during writing.

As noted above, the standard deviation (e.g., σ_(raw)) or the variance(e.g., σ_(k) ²), in some approaches, is estimated with a smoothingfactor, so that multiple PES samples are used to generate an accurateestimate of PES standard deviation. Depending on the embodiment, thevalue of the smoothing factor (B) may determine how much of an effectthe previous PES sample has on the value of σ_(raw) being calculated,relative to the current PES sample.

It is desired that the smoothing factor generate a reasonable slowlychanging PES standard deviation estimate. In some embodiments, thecalculation of the standard deviation (e.g., σ_(raw)) or the variance(e.g., σ_(k) ²) relies on a fixed smoothing factor. However, a fixedsmoothing factor may be problematic. For example, if the PES standarddeviation is over a specified limit, then a slowly changing standarddeviation estimate can keep the stopwrite threshold low for too long.This results in unnecessary capacity loss.

For example, the drive may be exposed to different environmentsincluding normal tabletop operations, shock environments, high vibrationenvironments, etc.; each of which having a different ideal smoothingfactor. Moreover, drives may interact differently with different tapes.Use of a fixed smoothing factor in such environments may presentdisadvantages. According to an illustrative example, if a particularenvironment is suspected to be a high vibration environment (e.g.,resulting in high PES), a fixed, small smoothing factor may beincorporated to quicken changes made to the standard deviation or thevariance in the subsequent calculations thereof from the presentlycalculated value. Moreover, the small smoothing factor and resultingquick changes to the standard deviation or the variance may mirror thehigh PES values, and thereby cause a decreased stopwrite value.Preferably, a decreased stopwrite value may result in a high number ofstopwrites to counteract the high PES. However, if the vibrationsdecrease (e.g., lower PES), the fixed, small smoothing factor may causethe stopwrite value to continue to rapidly change. Thus, although theremay be a period of low PES, local high points may be misinterpreted asunfavorably high PES by the rapidly changing stopwrite value, therebycausing an unnecessary number of stopwrites during low vibration runtime.

Similar unfavorable results may be experienced when a fixed, highsmoothing factor is selected for operation in a low vibrationenvironment, and the environment transitions to a high vibrationenvironment. This may result in an undesirably slow change in thestopwrite value to counteract the high vibrations, such that multipleerrors may be made while writing on the tape.

Therefore, in a preferred embodiment, the value of the smoothing factormay vary, depending on the value of the standard deviation (e.g.,σ_(raw)) or the variance (e.g., σ_(k) ²).

According to one embodiment, the smoothing factor may switch between twovalues, depending on the standard deviation or the variance of thecurrent position error signal in relation to a specified value.According to a preferred approach, the specified value may be σ_(max)(described in further detail below).

In one approach, if the standard deviation or the variance of thecurrent position error signal sample is below a specified value (e.g.,σ_(max) or a value selected using the same or similar techniques asselection of σ_(max)), the smoothing factor is altered to slow a changein the standard deviation or the variance in the subsequent calculationsthereof from the presently calculated value. In Equation 1, above, thevalue of the smoothing factor would thus be increased. The low standarddeviation or variance of the current position error signal samplesignifies desirable and consistent writing conditions. Therefore, thealtered smoothing factor may allow for a decreased number of stopwritesto maximize the write capacity of the tape.

However, according to another approach, if the standard deviation or thevariance at the current position error signal sample is above aspecified value (e.g., σ_(max) or a value selected using the same orsimilar techniques as selection of σ_(max)), the smoothing factor valuemay be altered to accelerate a change in the standard deviation or thevariance in the subsequent calculations thereof from the presentlycalculated value. As explained above, high standard deviation orvariance (e.g., high PES) signifies unfavorable write conditions.Therefore, the thus altered smoothing factor may result in a favorablyincreased number of stopwrites to ensure minimal and/or no errors aremade while writing to the tape, thereby improving the readability of thetape.

According to various other embodiments, the smoothing factor may switchbetween at least two values, at least three values, several values, etc.with respect to at least one specified value, at least two specifiedvalues, several specified values, etc. Thus, the smoothing factor mayincorporate multiple discreet values which may be determined by anynumber of parameters, depending on the desired embodiment. According todifferent approaches, the smoothing factor may be determined byincorporating different parameters including, but not limited to,kurtosis; vibration levels, e.g., measured with an accelerometer in thedrive; etc.

According to various other embodiments, the smoothing factor may varyaccording to a mathematical function. In one approach, the function maypreferably allow the smoothing factor value to continuously vary,thereby increasing accuracy and/or efficiency when writing to the tape.According to one example, the smoothing factor may be altered after eachcalculation of the standard deviation or the variance during run time(explained in further detail below). However, according to otherapproaches, the smoothing factor may be altered after every second,third, fourth, fifth, etc. iteration of calculating the standarddeviation or the variance during run time.

In another embodiment, the smoothing factor may gradually change as thestandard deviation or the variance of the current position error signalsample approaches a specified value. For example, the smoothing factormay gradually change rather than jump abruptly when the specified limitsare reached. This may preferably result in a more accurate response toexternal conditions, and ensure more efficient writing of data to thetape.

According to one approach, the value of the smoothing factor may belinearly interpolated between the specified high and low values thereof.In yet another approach, the smoothing factor may follow a nonlinear butprespecified curve between high and low values thereof.

Without wishing to be bound by any theory, it is believed that a valuefor smoothing factor B between about 0.95 and about 0.999 results in anoptimal effect for most embodiments, but B may be any value. Accordingto various embodiments, the value of the smoothing factor may bedetermined by the operating conditions, a predetermined value, selectedfrom a lookup table, specified by a user, etc. Due to the highlyadaptive nature of the embodiments described and/or suggested herein, invarious approaches, the value of B may be outside the optimal rangelisted above, while maintaining desirable results. In yet anotherapproach, B may be allowed to vary preferentially within the foregoingrange, and allowed to exit the range when desirable for faster or slowerchange in the standard deviation or variance.

With continued reference to FIG. 6, operation 606 includes determiningwhether the standard deviation (e.g., σ_(raw)) or the variance (e.g.,σ_(k) ²) exceeds a predetermined threshold (e.g., σ_(max)).

According to various approaches, a predetermined threshold (e.g.,σ_(max)) may be calculated using any method known in the art; however anillustrative example, which is in no way meant to limit the invention,is provided.

In the following example, assume a data storage system includes amagnetic tape head writing data to shingled data tracks on the tape ofthe magnetic tape head as shown in FIG. 7.

Referring now to FIG. 7, the shingled track width w₁ defines the widthof the first written track between the first written edge 702 and thesecond written edge 704. According to one approach, the second writtenedge 704 may be a first written edge of a second written trackoverlapping part of the first written track.

Moreover, the reader width w₂ defines the distance between the reader'souter edges 706, while the shingled reader guard bands w_(3A) and w_(3B)define the distance between the reader's outer edges 706 and the writtenedges 702 and 704 respectively. According to various approaches, thevalues of the shingled reader guard bands w_(3A), w_(3B) may be the sameor different, depending on the position of the reader. The relativeposition of the reader with respect to a given written track may varywith time for a given magnetic tape head due to various factors (e.g.,temperature, humidity, mechanical imperfections, movement of the reader,etc.).

According to one illustrative example, which is by no means meant tolimit the scope of the invention, the shingled track width w₁ may be4.75 μm (microns). Furthermore, the reader width w₂ may be 2.3 μm, whileboth the shingled reader guard bands w_(3A) and w_(3B) may be 1.23 μm(e.g., the reader is centered between the first and second written edgesin a direction perpendicular thereto).

In some approaches, if too much of the reader is positioned over anadjacent written track rather than the track of interest, the reader maynot be able to read the data written on the track of interest. It ispreferred that a shingled reader guard band ensures that 100% of thereader width is within the first and second written edges of a givenshingled track of interest. However, in one approach, a reader may beable to successfully read the data stored in a given written track ofinterest when approximately 10% of the reader width is outside the planeof the first and/or second written edges of the given written track ofinterest. Therefore, a shingled reader guard band may include 10% of thereader width as shown in Equation 2; but could be more or less dependingon the desired embodiment.Shingled reader guard band=1.23 μm+0.10(2.3 μm)  Equation 2Thus, with continued reference to the present illustrative example, theshingled reader guard bands may each be 1.46 μm.

Depending on the dimensions and/or conditions for a given magnetic tapehead, a threshold deviation value (e.g., σ_(max)) may be calculated fromthe magnetic tape drive design. In a preferred approach, the thresholddeviation value may incorporate an appropriate stopwrite to filter thedata such that written data may be successfully read back later(explained in further detail below). According to a preferred approach,the threshold deviation value (e.g., σ_(max)) may vary as to preferablyaccommodate any possible PES distribution (explained in further detailbelow). Thus, when analyzing a given data set of a given data storagesystem, the data may be evaluated as a distribution (e.g., a normaldistribution).

According to various other approaches, the deviation value σ mayincorporate, but is not limited to a factor “N” which may have a valueof 1, 2, 3, 4.5, etc. or any other value which would be obvious to oneskilled in the art upon reading the present description. In oneillustrative example, the factor N may have a value of 3 such that thedeviation value may be represented by 3σ (3σ_(total)) for a distributionof a given data set's PES. In one approach, the corresponding deviationvalue may be within the shingled reader guard band value calculatedabove, as shown in Equation 3.3σ_(total)=1.46 μm  Equation 3Once the equation is simplified and both sides are divided by 3, theresulting σ_(total) value (e.g., standard deviation) is 0.49 μm.

However, the value σ_(total) includes a combination of the deviations ofboth the written edge (σ_(w)) and the reader edge (σ_(r)) of themagnetic tape head. Equation 4 shows the relationship between σ_(total)and the deviation values (σ_(w) and σ_(r)) of the two signals combinedto form σ_(total).σ_(total)=(σ_(w) ²+σ_(r) ²)^(1/2)  Equation 4

However, because the tape path and/or the actuator of the magnetic tapehead may not able to distinguish the difference between when the head isreading and when the head is writing in some embodiments, σ_(w) may beconsidered the same value as σ_(r). Therefore, Equation 4 allows foreither the maximum deviation of the written edge or the deviation of thereader edge to be calculated at any time. In one approach, the σ_(w)value may be calculated by simplifying Equation 4 as is shown inEquation 5.0.49 μm=(σ_(w) ²+σ_(w) ²)^(1/2)  Equation 5

Once simplified, Equation 5 results in the value for σ_(w) as 0.35 μm.Therefore, according to the present illustrative example, a deviation of0.35 μm may be incorporated in various embodiments as a thresholddeviation value (e.g., σ_(max)), including any of the embodimentsdescribed and/or suggested herein.

As noted above, the standard deviation (e.g., σ_(raw)) or the variance(e.g., σ_(k) ²) is compared to the predetermined threshold (e.g.,σ_(max)) in operation 606. With continued reference to FIG. 6, operation608 includes determining a stopwrite threshold based on the standarddeviation (e.g., σ_(raw)) or the variance (e.g., σ_(k) ²), when thestandard deviation or the variance exceeds the predetermined threshold(e.g., σ_(max)).

In one approach, the stopwrite threshold may be determined by selectinga stopwrite value preassociated with the standard deviation (e.g.,σ_(raw)) or the variance (e.g., σ_(k) ²). In a preferred approach, thestopwrite value may be listed in a look up table (LUT) having stopwritevalues calculated for various σ_(raw) values, a plot as depicted in FIG.8, etc. In another approach, the stopwrite values may be calculated inreal-time and then implemented, as the current PES samples are measured.

Referring to FIG. 8, stopwrite values may be calculated for variouspossible σ_(raw) values using a variance formula known in the art. Theseσ_(raw) values (along the x-axis) and their corresponding stopwritevalues (along the y-axis) may be stored in a plot as is shown in FIG. 8for future use. As discussed above, the maximum desired σ_(raw) valuemay preferably be 0.35 μm which corresponds to that which is depicted inthe graph.

With continued reference to FIG. 6, operation 610 includes determiningif the current PES sample exceeds the stopwrite threshold acquired inoperation 608. In the case that the current PES sample in fact exceedsthe stopwrite threshold, operation 612 of the method 600 disableswriting.

In a preferred approach, if writing is enabled or disabled during aninterval, it is enabled or disabled only for the current interval. It ispreferred that, at the start of each new interval, the logic may be runto determine if the writing should be enabled or disabled for that giveninterval. In another approach, if writing is enabled or disabled duringan interval, it may remain enabled or disabled for at least one, atleast two intervals, multiple, etc. intervals, regardless of the logic.

With continued reference to FIG. 6, operation 614 includes not updatinga truncated value (e.g., σ_(truncated)). According to a preferredapproach, the truncated value is not updated when writing is disabled.More information about σ_(truncated) is provided below, includingoperations when σ_(truncated) is updated.

Referring back to operation 606, if it is determined that the standarddeviation (e.g., σ_(raw)) or the variance (e.g., σ_(k) ²) does notexceed the predetermined threshold (e.g., σ_(max)), the method 600proceeds to operation 618 which enables writing.

Similarly, referring back to operation 610, if the current PES sample isdetermined to not exceed the stopwrite threshold, then the method 600proceeds to operation 618, thereby enabling writing as described above.

With continued reference to FIG. 6, once writing has been enabled inoperation 618, the method 600 proceeds to update a truncated value(e.g., σ_(truncated)) and verify that the truncated value is less thanσ_(max). See operation 620.

According to a preferred approach, a method may include updating atruncated value (e.g., σ_(truncated)) by incorporating the current PESsample when writing is enabled. In one approach, the truncated value maybe a standard deviation or variance of PES samples.

In some approaches, the truncated value may be compared to thepredetermined threshold (e.g., σ_(max)). If the truncated valuemaintains a value at, or below the predetermined threshold, then it maybe expected that, when reading back the written data on the track, noerrors will occur.

According to one approach, if the σ_(raw) is greater than the σ_(max),then the method of truncated normal distributions (e.g., σ_(truncated))may be incorporated to determine the truncation value such that thecorrect number of samples may be eliminated, but the PES values writtento tape have the same standard distribution of σ_(max). Thus, theσ_(raw) of the data which may be written to the tape will preferably beless than the value σ_(max). This may be accomplished by obtaining thecorrect truncation value from a formula, a look up table, apredetermined value, a chart, etc. For example, the SW Threshold line inFIG. 8 may be used. The foregoing feature is an important featureimplemented in some embodiments because it guarantees that data will bewritten to tape with no more u than the σ_(max), no matter how high theactual σ really is. Although in some embodiments this design maysacrifice capacity by increasing stopwrite frequency, it will preferablyensure that no errors will occur during reading.

For example, if the σ_(truncated) value for the data actually written tothe aforementioned track remains less than σ_(max), there should be noerrors when reading back that same portion of the track. However, if theσ_(truncated) value for the data being written to the aforementionedtrack rises above the σ_(max) value, errors may be expected to occurwhen later reading the data written to that same segment of the track.According to one approach, such errors may be caused by not havingenough of the intended data successfully written to the track; assuggested by the high deviation. Therefore, it may be desirable toperform some additional evaluations in the even that σ_(truncated) is anot less than σ_(max).

Referring now to FIG. 9, a graph displays results from implementation ofone illustrative embodiment, which in no way is meant to limit theinvention. The graph of FIG. 9 depicts the outcome of incorporating amethod similar to and/or the same as that described in method 600, to agiven set of data. As shown, the σ_(raw) and stopwrite threshold (SWThreshold) values change as the PES is evaluated at predeterminedintervals. Moreover, the σ_(truncated) value remains at or below theσ_(max) value of 0.35 μm for this illustrative example, thereby ensuringthat the data being written will be able to be successfully read back.

According to various approaches, the geometry of the data storage system(e.g., track width, reader width, etc.), may contribute in determiningthe allowable distribution during writing for various embodiments.

Moreover, further embodiments may incorporate kurtosis, preferably togain a more detailed understanding of the written data deviations, aswell as the standard deviation of a given embodiment. Gaining a moredetailed understanding of the standard deviation may allow for moreefficient writing of data in preferred approaches than if a normaldistribution (e.g., Gaussian distribution) is assumed for thedeviations. Assuming normal distribution for a given embodiment mayresult in an inaccurate representation of the deviations, which mayultimately cause unnecessary stopwrites. For example, data may entailkurtosis risk in which data points may be spread much wider than thenormal distribution may entail. Thus, fewer data points may be clusterednear the average, and more data points may populate the extremes aboveand/or below the average.

According to various embodiments, different deviations of the writtendata, e.g., infrequent, large deviations, frequent moderately sizeddeviations over a given period of time, etc. may produce the samestandard deviation when calculated. Referring to FIGS. 11A-11C, althougheach of the graphs display a different distribution of PES samples, withthe y-axis representing the number of samples that have the specifiedPES value in the x-axis, the standard deviation of the datacorresponding to each of the graphs is calculated as being approximatelythe same value. Therefore, as stated above, it is preferable to gain anunderstanding of the deviations that correspond to, and form thestandard deviation of a given embodiment. One way to gain suchunderstanding is by using a kurtosis value, which is intended to includeraw kurtosis, excess kurtosis, and any derivative thereof. In theexample presented in FIGS. 11A-11C, the excess kurtosis value of thedistribution in FIG. 11A is −1.5, the excess kurtosis value thereof inFIG. 11B is 0, and the excess kurtosis value thereof in FIG. 11C is+1.5. By observing kurtosis, one can determine when to stopwrite foreach of the different distributions, as opposed to a one-size-fits-allapproach, as occurs when a normal distribution is assumed for all cases.

As stated above, gaining a more detailed understanding of deviations mayresult in writing data more efficiently to the tape. For example, thePES corresponding to a given embodiment may be desirable (e.g., lowdeviations), resulting in a low threshold value. Moreover, a lowthreshold value may thereby limit the acceptable PES values for writing,to much lower than what may actually result in successful writing to thetape. However, by incorporating kurtosis, preferably a maximum amount ofdata may be written to the magnetic medium, while retaining the abilityto be successfully read back, thereby increasing the capacity of thetape (explained in further detail below).

According to an illustrative example, a flowchart illustrates a method1000 in FIG. 10. As an option, the present method 1000 may beimplemented in conjunction with features from any other embodimentlisted herein, such as those described with reference to the other FIGS.Of course, however, such method 1000 and others presented herein may beused in various applications and/or in permutations which may or may notbe specifically described in the illustrative embodiments listed herein.Further, the method 1000 presented herein may be used in any desiredenvironment.

Operation 1002 of method 1000 includes measuring a current positionerror signal. According to one approach, the PES may be measured byincorporating any method known in the art, e.g., using servos, etc.

Operation 1004 includes calculating a standard deviation (e.g.,σ_(raw)), or equivalently, a variance (e.g., σ_(k) ²) using the currentposition error signal sample. In an exemplary approach, the standarddeviation or the variance may be updated based on the current positionerror signal sample.

According to various approaches, calculating a standard deviation (e.g.,σ_(raw)) or a variance (e.g., σ_(k) ²) may incorporate prior PESsamples, the current PES sample, etc. Moreover, the standard deviation(e.g., σ_(raw)) or the variance (e.g., σ_(k) ²) may be calculated byincorporating any formula known in the art and/or described herein. In apreferred approach, calculating the standard deviation (e.g., σ_(raw))or the variance (e.g., σ_(k) ²), may incorporate an altered smoothingfactor “B” (see operation 502 of FIG. 5).

With continued reference to FIG. 10, operation 1006 includes calculatinga kurtosis value, using the current position error signal sample orderivative thereof. According to various approaches, a kurtosis valuemay be calculated by incorporating any of the equations described and/orsuggested herein, a low-pass filter, an algorithm, etc. or any othermethod which would be apparent to one skilled in the art upon readingthe present description.

According to one approach, the current PES sample derivative mayincorporate the standard deviation or a variance calculated from thecurrent PES sample, depending on the desired embodiment. Moreover, inyet another approach, the kurtosis may be derived by incorporating thestandard deviation or variance, either of which may preferably becalculated using the current PES. In a preferred approach, the kurtosismay be used to understand and/or characterize the distribution shape ofthe deviations, thereby allowing for much more efficient stopwrites andincreased tape capacity.

In a preferred illustrative embodiment, a raw kurtosis value may becalculated by preferably first calculating the variance (σ_(k) ²) byincorporating Equation 1 as explained above, or any other method whichwould be apparent to one skilled in the art upon reading the presentdescription. Additionally, Equation 6 may be incorporated as tocalculate the fourth moment (M₄).M ₄=(B×M ₄₋₁)+(1−B)×x _(k) ⁴  Equation 6

Accordingly, M₄₋₁ represents the fourth moment at the previous PESsample, B represents the smoothing factor as explained above, and x_(k)⁴ represents the current PES sample to the fourth power.

Moreover, the raw kurtosis value of a given sample may be calculated bypreferably incorporating Equation 7.kurtosis=M ₄/(σ_(k) ²)²  Equation 7

Mathematically, the kurtosis value for a normal distribution is 3.However, according to one approach, raw kurtosis values may preferablybe shifted by −3, thereby producing excess kurtosis (EK) values. Thus,EK values may be calculated by simply subtracting 3 from the rawkurtosis values data as illustrated in Equation 8,EK=kurtosis−3  Equation 8

With continued reference to FIG. 10, method 1000 also includes adjustinga threshold value (e.g., σ_(max)) using the kurtosis value. Seeoperation 1008. According to different approaches, the kurtosis valuemay incorporate a raw kurtosis value and/or an excess kurtosis value.However, according to various other approaches, a threshold value (e.g.,σ_(max)) may be calculated using any method known in the art.

In a preferred approach, specific EK values may correspond to calculatedthreshold values which result in preferred writing conditions to thetape. Thus, σ_(max) may be adjusted to the calculated threshold valueswhich correspond to the EK values for a given tape. However, if σ_(max)is less than a calculated threshold corresponding from a given EK value,σ_(max) may not be adjusted, depending on the desired embodiment.Moreover, if σ_(max) is at, or greater than, a calculated thresholdcorresponding to a given EK value, σ_(max) may preferably be adjusted toa value at or below the calculated threshold.

According to an illustrative approach, combinations of threshold valuesand kurtosis values may be precalculated as to preferably ensure thedata will be read back successfully. Referring to FIG. 12, a graphillustrates a preferred relationship between EK values and calculatedthreshold values (σ_(max)) according to an exemplary embodiment, whichis in no way intended to limit the invention. The curve represents thecritical threshold (σ_(max)) for a particular EK value. The criticalthreshold (σ_(max)) has been normalized such that if EK=0, then thecritical threshold (σ_(max))=1. Depending on a given EK value, acorresponding threshold value may be acquired graphically, e.g., using agraph of normalized values like that depicted in FIG. 12, and used toevaluate at least a portion of the tape.

According to various other approaches, the calculated threshold valuesmay be stored in a lookup table, a database, calculated in real time,etc.

As the deviations of a given embodiment begin to stray away from thenormal distribution of the data, this causes the value of EK to increaseto larger positive numbers. As depicted in FIG. 12, as the EK valuesincrease to larger positive numbers, σ_(max) decreases to compensate forthe widening deviations, thereby maintaining a maximized tape capacityfor the given embodiment, while also ensuring successful readback of thedata written thereto.

Moreover, according to preferred approaches, incorporating calculatedthreshold values results in a more detailed understanding of thedeviations may be achieved, thereby providing improved settings forwriting to the tape. In a preferred approach, the threshold (e.g.,σ_(max)) may be influenced by a raw or excess kurtosis value, therebyrepresenting the standard deviation more closely, and improving the tapecapacity by more efficiently applying stopwrites.

With continued reference to FIG. 10, operation 1010 includes comparingthe standard deviation (e.g., σ_(raw)) or variance (e.g., σ_(k) ²) tothe threshold value (e.g., σ_(max)), as adjusted using the kurtosis inoperation 1008.

Furthermore, method 1000 includes enabling writing when the standarddeviation or variance does not exceed the threshold value (e.g.,σ_(max)) as seen in operation 1012. According to a preferred approach,if the standard deviation or variance is less than the threshold, thenthe standard deviation or variance should have sufficiently smallvariation that it will later be able to be successfully read back.

Referring to operation 1014, method 1000 additionally includesdetermining a stopwrite threshold based on a standard deviation or avariance at a current position error signal sample when the standarddeviation or variance exceeds the threshold value.

In one approach, the stopwrite threshold may be determined by selectinga stopwrite value preassociated with the standard deviation (e.g.,σ_(raw)) or the variance (e.g., σ_(k) ²). In a preferred approach, thestopwrite value may be listed in a look up table (LUT) having stopwritevalues calculated for various σ_(raw) values, a plot as depicted in FIG.8, etc. In another approach, the stopwrite values may be calculated inreal-time and then implemented, as the current PES samples are measured.In a preferred approach, the stopwrite value may be updated regularly,more preferably after each calculation of the standard deviation or thevariance.

With continued reference to FIG. 10, operation 1016 includes determiningwhether the current position error signal sample exceeds the stopwritethreshold acquired in operation 1014. In the case that the currentposition error signal sample in fact exceeds the stopwrite threshold,operation 1018 of the method 1000 disables writing.

Similarly, referring back to operation 1016, if the current positionerror signal sample does not exceed the stopwrite threshold, then themethod 1000 proceeds to operation 1012, thereby enabling writing asdescribed above.

In a preferred approach, if writing is enabled or disabled during aninterval, it is enabled or disabled only for the current interval. It ispreferred that, at the start of each new interval, the logic may be runto determine if the writing should be enabled or disabled for that giveninterval. In various other approaches, if writing is enabled or disabledduring an interval, it may remain enabled or disabled for at least one,at least two intervals, multiple, etc. intervals, regardless of thelogic.

In a preferred approach, the method 1000 may be executed at regular orirregular intervals as the track is being written to. Moreover, themethod 1000 may be executed at intervals of less than about 1 second,more preferably less than about 0.01 seconds, still more preferably lessthan about 1 millisecond, but could be shorter or longer based on thedesired embodiment. According to one illustrative embodiment which is byno means meant to limit the scope of the invention, the aforementionedmethod may be executed at regular or irregular intervals of about 50 μs.

According to an illustrative approach, as mentioned above, a smoothingfactor may be applied to a subsequent calculation of the standarddeviation or variance. In one approach, the smoothing factor may bealtered based at least in part on a current magnitude of the standarddeviation or the variance.

In one approach, if the standard deviation or the variance at thecurrent position error signal sample is below a specified value (e.g.,σ_(max) or a value selected using the same or similar techniques asselection of σ_(max)), the smoothing factor may preferably be altered toslow a change in the standard deviation or the variance in thesubsequent calculations thereof from the presently calculated value.Refer to Equation 1, as described above.

However, according to another approach, if the standard deviation or thevariance at the current position error signal sample is above aspecified value (e.g., σ_(max) or a value selected using the same orsimilar techniques as selection of σ_(max)), the smoothing factor valuemay be altered to accelerate a change in the standard deviation or thevariance in the subsequent calculations thereof from the presentlycalculated value. As explained above, high standard deviation orvariance (e.g., high PES) signifies unfavorable write conditions.Therefore, the thus altered smoothing factor may result in a favorablyincreased number of stopwrites to ensure minimal and/or no errors aremade while writing to the tape, thereby improving the readability of thetape.

Moreover, according to an exemplary embodiment determining the stopwritethreshold may include updating the standard deviation or the variancebased on the current position error signal sample and/or the alteredsmoothing factor. Furthermore, in one approach, it may be determinedwhether the standard deviation or the variance exceeds a predeterminedthreshold. Moreover, the stopwrite threshold may be based on thestandard deviation or the variance when the standard deviation or thevariance exceeds the predetermined threshold according to anillustrative approach.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as “logic,” a “circuit,” “module,” or“system.” Furthermore, aspects of the present invention may take theform of a computer program product embodied in one or more computerreadable medium(s) having computer readable program code embodiedthereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a non-transitory computer readable storage medium. A computerreadable storage medium may be, for example, but not limited to, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, or device, or any suitable combinationof the foregoing. More specific examples (a non-exhaustive list) of thenon-transitory computer readable storage medium include the following: aportable computer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a portable compact disc read-only memory (e.g.,CD-ROM), a Blu-ray disc read-only memory (BD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a non-transitory computerreadable storage medium may be any tangible medium that is capable ofcontaining, or storing a program or application for use by or inconnection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a non-transitory computer readable storage medium and that cancommunicate, propagate, or transport a program for use by or inconnection with an instruction execution system, apparatus, or device,such as an electrical connection having one or more wires, an opticalfibre, etc.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fibre cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer, for example through the Internet using an Internet ServiceProvider (ISP).

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of an embodiment of the presentinvention should not be limited by any of the above-described exemplaryembodiments, but should be defined only in accordance with the followingclaims and their equivalents.

What is claimed is:
 1. A data storage system, comprising: a head; adrive mechanism for passing a medium aver the head; a controllerelectrically coupled to the head; logic encoded in or available to thecontroller for measuring a current position error signal; logic encodedin or available to the controller for calculating a standard deviationor a variance using the current position error signal sample; logicencoded in or available to the controller for calculating a kurtosisvalue, using the current position error signal sample or derivativethereof; logic encoded in or available to the controller for adjusting athreshold value using the kurtosis value; logic encoded in or availableto the controller for comparing the standard deviation or variance tothe threshold value; logic encoded in or available to the controller forenabling writing when the standard deviation or variance does not exceedthe threshold value; logic encoded in or available to the controller fordetermining a stopwrite threshold based on a standard deviation or avariance at a current position error signal sample when the standarddeviation or variance exceeds the threshold value; logic encoded in oravailable to the controller for determining whether the current positionerror signal sample exceeds the stopwrite threshold; logic encoded in oravailable to the controller for disabling writing when the currentposition error signal sample exceeds the stopwrite threshold; and logicencoded in or available to the controller for enabling writing when thecurrent position error signal sample does not exceed the stopwritethreshold.
 2. A system as recited in claim 1, wherein the kurtosis iscalculated using the standard deviation or variance calculated using thecurrent error position signal.
 3. A system as recited in claim 1,wherein the logic for periodically determining the stopwrite thresholdincludes: logic encoded in or available to the controller for updatingthe standard deviation or the variance based on position error signalsamples; logic encoded in or available to the controller for determiningwhether the standard deviation or the variance exceeds a predeterminedthreshold; and logic encoded in or available to the controller fordetermining the stopwrite threshold based on the standard deviation orthe variance when the standard deviation or the variance exceeds thepredetermined threshold.
 4. A system as recited in claim 3, wherein thestopwrite threshold is determined by selecting a stopwrite valuepreassociated with the standard deviation or the variance.
 5. A systemas recited in claim 1, wherein a smoothing factor applied to asubsequent calculation of the standard deviation or variance is alteredbased at least in part on a current magnitude of the standard deviationor the variance wherein the logic for periodically determining thestopwrite threshold includes: logic encoded in or available to thecontroller for updating the standard deviation or the variance based onposition error signal samples and the altered smoothing factor; logicencoded in or available to the controller for determining whether thestandard deviation or the variance exceeds a predetermined threshold;and logic encoded in or available to the controller for determining thestopwrite threshold based on the standard deviation or the variance whenthe standard deviation or the variance exceeds the predeterminedthreshold.
 6. A system as recited in claim 5, wherein the stopwritethreshold is determined by selecting a stopwrite value preassociatedwith the standard deviation or the variance.
 7. A system as recited inclaim 5, wherein the smoothing factor is altered to slow a change in thestandard deviation or the variance in the subsequent calculation thereofwhen the standard deviation or the variance at the current positionerror signal sample is below a specified value.
 8. A system as recitedin claim 5, wherein the smoothing factor is altered to accelerate achange in the standard deviation or the variance in the subsequentcalculation thereof when the standard deviation or the variance at thecurrent position error signal sample is above a specified value.
 9. Asystem as recited in claim 1, wherein the smoothing factor is alteredafter each calculation of the standard deviation or the variance.
 10. Asystem as recited in claim 1, wherein the logic is executed at intervalsof less than 1 millisecond.
 11. A system as recited in claim 1, whereinthe head is a magnetic head.
 12. A computer program product, thecomputer program product comprising a non-transitory computer readablestorage medium having program code embodied therewith, the computerreadable program code readable/executable by a controller to: measure,by the controller, a current position error signal; calculate, by thecontroller, a standard deviation or a variance using the currentposition error signal sample; calculate, by the controller, a kurtosisvalue, using the current position error signal sample or derivativethereof; adjust, by the controller, a threshold value using the kurtosisvalue; compare, by the controller, the standard deviation or variance tothe threshold value; enable, by the controller, writing when thestandard deviation or variance does not exceed the threshold value;determine, by the controller, a stopwrite threshold based on a standarddeviation or a variance at a current position error signal sample whenthe standard deviation or variance exceeds the threshold value;determine, by the controller, whether the current position error signalsample exceeds the stopwrite threshold; disable, by the controller,writing when the current position error signal sample exceeds thestopwrite threshold; and enable, by the controller, writing when thecurrent position error signal sample does not exceed the stopwritethreshold.